import java.io.*;

/**
 * 使用字节流完成文件的复制
 */
public class CopyDemo {
    public static void main(String[] args) {
        InputStream is = null;OutputStream os = null;
        try {
            //创建一个输入流和源文件链接
             is = new FileInputStream("C:\\panGod\\守F公民.[中英双字.1024分辨率].rmvb");
            //创建一个字节输出流和目标文件接通
             os = new FileOutputStream("C:\\data\\test\\守F公民.[中英双字.1024分辨率].rmvb");

            //定义一个字节数组用来转移数据
            byte[] buffer = new byte[1024];
            int len;//记录读取长度
            while((len = is.read(buffer))!=-1){
                os.write(buffer,0,len);
            }

            System.out.println("复制完成");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            //关闭流,为了保证再上面代码块出异常的情况下依然能关闭文件流,将其写到finally中
            //但是is和os的范围都在try中,finally中访问不到,需要先在外面声明一下
            try {
                //关闭流之前加上非空校验,防止还没创建流,然后出异常,关闭了个空
                if(os!=null) os.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                if(is!=null) is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        System.out.println(test(10,5));
    }
    public static int test(int a,int b){
        try{
            int c = a/b;
            return c;
        }catch (Exception e){
            e.printStackTrace();
            return -111111;
        }finally {
            //即使try中有return语句执行,finally里面的语句也必须执行,所以不建议在finally里面写return,会导致修改返回值
//            return 100;
            System.out.println("这就是一句简单的finally");
        }
    }
}
